import os
import importlib
from pathlib import Path

# 自动导入所有处理器以触发装饰器注册
def _auto_import_handlers():
    """自动导入 handlers 目录下的所有 Python 模块"""
    handlers_dir = Path(__file__).parent / "handlers"
    if handlers_dir.exists():
        for file_path in handlers_dir.glob("*.py"):
            if file_path.name != "__init__.py":
                module_name = f".handlers.{file_path.stem}"
                try:
                    importlib.import_module(module_name, package=__name__)
                except ImportError as e:
                    print(f"Warning: Failed to import {module_name}: {e}")

# 执行自动导入
_auto_import_handlers()

# 导出注册表供外部使用
from .base import HANDLER_REGISTRY

# 为了向后兼容，保留 HANDLER_MAP 别名
HANDLER_MAP = HANDLER_REGISTRY